From b5c319b56fe6a7e1b9614d5110146ac326c02745 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 21 Mar 2014 18:09:38 +0100 Subject: [PATCH] gesture: Limit API calls to non-denied sequences Gestures do track those internally, but information about those shouldn't be leaked on calls. --- gtk/gtkgesture.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/gtk/gtkgesture.c b/gtk/gtkgesture.c index e1ba1009aa..c24fc59606 100644 --- a/gtk/gtkgesture.c +++ b/gtk/gtkgesture.c @@ -915,13 +915,9 @@ gtk_gesture_get_bounding_box_center (GtkGesture *gesture, gboolean gtk_gesture_is_active (GtkGesture *gesture) { - GtkGesturePrivate *priv; - g_return_val_if_fail (GTK_IS_GESTURE (gesture), FALSE); - priv = gtk_gesture_get_instance_private (gesture); - - return g_hash_table_size (priv->points) != 0; + return _gtk_gesture_effective_n_points (gesture) != 0; } /** @@ -989,12 +985,20 @@ gtk_gesture_handles_sequence (GtkGesture *gesture, GdkEventSequence *sequence) { GtkGesturePrivate *priv; + PointData *data; g_return_val_if_fail (GTK_IS_GESTURE (gesture), FALSE); priv = gtk_gesture_get_instance_private (gesture); + data = g_hash_table_lookup (priv->points, sequence); - return g_hash_table_contains (priv->points, sequence); + if (!data) + return FALSE; + + if (data->state == GTK_EVENT_SEQUENCE_DENIED) + return FALSE; + + return TRUE; } /** -- 2.30.2